博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用户登陆,退出等基本Action(2)
阅读量:2454 次
发布时间:2019-05-10

本文共 3406 字,大约阅读时间需要 11 分钟。

用户登陆页面user_login.jsp对应action为login.do:

用户登陆
用户名:
密 码:
验证码:  
  记住用户名
 

  用户登陆类(UserLogin.java):

package com.web.struts.action;import javax.servlet.http.Cookie;import org.apache.commons.lang.StringUtils;import commodel.Member;import com.service.IMemberService;import com.tools.Constant;import com.tools.MD5Bean;/** * title:用户登陆 *  * @author conkeyn * @时间 2009-3-24:上午10:06:25 */public class UserLogin extends BaseAction {	/**  */	private static final long serialVersionUID = -8059803575427183277L;	private Member member;	public void setMemberService(IMemberService memberService) {		this.memberService = memberService;	}	private IMemberService memberService;	/**	 * 退出	 * 	 * @return	 */	public String logout() {		getSession().removeAttribute(Constant.MEMBER_SESSION_ID);		Cookie[] cookies = getRequest().getCookies();		Cookie member_cookie = null;		for (int i = 0; i < cookies.length; i++) {			member_cookie = cookies[i];			if (member_cookie != null					&& StringUtils.isNotBlank(member_cookie.getName())					&& StringUtils.isNotBlank(member_cookie.getValue())					&& member_cookie.getName().equals(							Constant.MEMBER_SESSION_ID)) {				member_cookie.setMaxAge(-1);// 设置有效期为-1秒,浏览器会自动删除				getResponse().addCookie(member_cookie);				break;			}		}		return SUCCESS;	}	/**	 * 用户登陆	 * 	 * @return	 */	public String login() {		return "login";	}	/**	 * 处理用户登陆	 * 	 * @return	 */	public String process() {		String confirm_code = getRequest().getParameter("confirm_code");		String confirmcode = (String) getSession().getAttribute("confirmcode");		if (StringUtils.isNotBlank(confirm_code)				&& StringUtils.isNotBlank(confirmcode)				&& confirm_code.equals(confirmcode)) {			String username = getRequest().getParameter("username");			String pwd = getRequest().getParameter("pwd");			String rember_me = getRequest().getParameter("rember_me");			MD5Bean md5 = new MD5Bean();			pwd = md5.MD5Encrypt(pwd);			member = memberService.getMember(username);			if (member == null) {				this.addActionError("不存在该用户,请注册后再登陆!");				return ERROR;			} else if (!pwd.equalsIgnoreCase(member.getPwd())) {				this.addActionError("密码错误,请重新输入!");				return ERROR;			}			getSession().setAttribute(Constant.MEMBER_SESSION_ID,					member.getUsername());			// 设置cookie			if (StringUtils.isNotBlank(rember_me)					&& rember_me.equalsIgnoreCase("true")) {				Cookie cookie = new Cookie(Constant.MEMBER_SESSION_ID, member						.getUsername());				cookie.setMaxAge(60 * 60 * 24 * 365);				getResponse().addCookie(cookie);			}			member.setLoged(true);			memberService.saveMember(member);		} else {			this.addActionError("验证码错误,请重新输入!");			return ERROR;		}		return SUCCESS;	}	public Member getMember() {		return member;	}	public void setMember(Member member) {		this.member = member;	}}

 

Struts配置文件(struts-login.xml):

/WEB-INF/pages/userlogin.jsp
login
/WEB-INF/pages/userlogin.jsp
/WEB-INF/pages/userlogin_msg.jsp
 

 

 

 

 

 

 

转载地址:http://dzdhb.baihongyu.com/

你可能感兴趣的文章
【SVN】win7 搭建SVN服务器
查看>>
iOS第三方做滤镜最主流的开源框架GPUImage
查看>>
面向对象三大特性
查看>>
网络架构与七层参考模式简介
查看>>
用python实现经典排序
查看>>
node-1
查看>>
Chessboard(规律)&&阿里巴巴和n个大盗(规律)
查看>>
设置Linux防火墙
查看>>
Nginx+Keepalived实现高可用站点
查看>>
php 获取文件信息相关基础函数
查看>>
读属性文件直接执行其中的方法
查看>>
mysql 引擎区分
查看>>
C#中的virtual关键词的解释
查看>>
基于Ubuntu14.04-LTS下安装docker
查看>>
leetcode 303. Range Sum Query - Immutable(前缀和)
查看>>
第十二周作业
查看>>
DELPHI NEXTGEN编译开关
查看>>
INDY10的IDHttpServer应答客户端
查看>>
vue.js 拦截器
查看>>
JAVA ZIP 处理文件
查看>>